\hypertarget{classWFQueueManager}{
\section{WFQueueManager Class Reference}
\label{classWFQueueManager}\index{WFQueueManager@{WFQueueManager}}
}
\hyperlink{classWFQueueManager}{WFQueueManager} manages the \hyperlink{classWorkflow}{Workflow} queue for the \hyperlink{classManager}{Manager} module and handles communication with \hyperlink{classUI}{UI} module.  


{\tt \#include $<$wfqueuemanager.h$>$}

\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hyperlink{classWFQueueManager_cb03061917aadc6e290fd2b3c22ef93d}{WFQueueManager} (void)
\begin{CompactList}\small\item\em Default Constructor. \item\end{CompactList}\item 
\hyperlink{classWFQueueManager_ef16dce1eb4bc9aae6e608eb88d58ce9}{WFQueueManager} (const \hyperlink{address_8h_4ca11348ac4907d66e5564401dbdf87d}{Port} \&port=12000)
\begin{CompactList}\small\item\em Constructor specifying server port. Default value is 12000. \item\end{CompactList}\item 
\hyperlink{classWFQueueManager_0ba32dadbee2c987f3818b857a160352}{WFQueueManager} (const \hyperlink{classAddress}{Address} \&addr)
\begin{CompactList}\small\item\em Constructor specifying server \hyperlink{classAddress}{Address}. \item\end{CompactList}\item 
\hypertarget{classWFQueueManager_9baa62b125f4680c8ecda9d061f4c808}{
\hyperlink{classWFQueueManager_9baa62b125f4680c8ecda9d061f4c808}{$\sim$WFQueueManager} (void)}
\label{classWFQueueManager_9baa62b125f4680c8ecda9d061f4c808}

\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item 
\hypertarget{classWFQueueManager_45d9ce0a1d1f8fe08907e8a9722e1f0f}{
boost::uint16\_\-t \hyperlink{classWFQueueManager_45d9ce0a1d1f8fe08907e8a9722e1f0f}{getPort} (void) const }
\label{classWFQueueManager_45d9ce0a1d1f8fe08907e8a9722e1f0f}

\begin{CompactList}\small\item\em Gets server port. \item\end{CompactList}\item 
\hypertarget{classWFQueueManager_dbde45c450000c25845529a1fe004e48}{
void \hyperlink{classWFQueueManager_dbde45c450000c25845529a1fe004e48}{setPort} (boost::uint16\_\-t port)}
\label{classWFQueueManager_dbde45c450000c25845529a1fe004e48}

\begin{CompactList}\small\item\em Sets server port. \item\end{CompactList}\item 
\hypertarget{classWFQueueManager_085b2a3bd90aa0ee8978289f9812132e}{
void \hyperlink{classWFQueueManager_085b2a3bd90aa0ee8978289f9812132e}{setPort} (const \hyperlink{classAddress}{Address} \&address)}
\label{classWFQueueManager_085b2a3bd90aa0ee8978289f9812132e}

\begin{CompactList}\small\item\em Sets server port using provided \hyperlink{classAddress}{Address}. \item\end{CompactList}\item 
int \hyperlink{classWFQueueManager_8468a3c93d1417b57dc3c0bff0cca613}{enqueue} (const \hyperlink{classWorkflow}{Workflow} \&wf)
\begin{CompactList}\small\item\em Push the provided \hyperlink{classWorkflow}{Workflow} into the queue. \item\end{CompactList}\item 
\hyperlink{classWorkflow}{Workflow} \hyperlink{classWFQueueManager_0813ef65db0924c3b7d99fa4980c002d}{dequeue} (void)
\begin{CompactList}\small\item\em Pop from the queue the next \hyperlink{classWorkflow}{Workflow} and returns it. \item\end{CompactList}\item 
\hypertarget{classWFQueueManager_68d9fab91ee221f4898d7bc24c324dae}{
void \hyperlink{classWFQueueManager_68d9fab91ee221f4898d7bc24c324dae}{start} (void)}
\label{classWFQueueManager_68d9fab91ee221f4898d7bc24c324dae}

\begin{CompactList}\small\item\em Create the main thread and join on it. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
\hyperlink{classWFQueueManager}{WFQueueManager} manages the \hyperlink{classWorkflow}{Workflow} queue for the \hyperlink{classManager}{Manager} module and handles communication with \hyperlink{classUI}{UI} module. 

In order to receive \hyperlink{classWFQueueManager_8468a3c93d1417b57dc3c0bff0cca613}{enqueue()} requests, \hyperlink{classWFQueueManager}{WFQueueManager} creates an \hyperlink{classUDPServer}{UDPServer}. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classWFQueueManager_cb03061917aadc6e290fd2b3c22ef93d}{
\index{WFQueueManager@{WFQueueManager}!WFQueueManager@{WFQueueManager}}
\index{WFQueueManager@{WFQueueManager}!WFQueueManager@{WFQueueManager}}
\subsubsection[WFQueueManager]{\setlength{\rightskip}{0pt plus 5cm}WFQueueManager::WFQueueManager (void)}}
\label{classWFQueueManager_cb03061917aadc6e290fd2b3c22ef93d}


Default Constructor. 

\begin{Desc}
\item[Note:]This should not be used. \end{Desc}
\hypertarget{classWFQueueManager_ef16dce1eb4bc9aae6e608eb88d58ce9}{
\index{WFQueueManager@{WFQueueManager}!WFQueueManager@{WFQueueManager}}
\index{WFQueueManager@{WFQueueManager}!WFQueueManager@{WFQueueManager}}
\subsubsection[WFQueueManager]{\setlength{\rightskip}{0pt plus 5cm}WFQueueManager::WFQueueManager (const {\bf Port} \& {\em port} = {\tt 12000})}}
\label{classWFQueueManager_ef16dce1eb4bc9aae6e608eb88d58ce9}


Constructor specifying server port. Default value is 12000. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em port}]Server port. \end{description}
\end{Desc}
\hypertarget{classWFQueueManager_0ba32dadbee2c987f3818b857a160352}{
\index{WFQueueManager@{WFQueueManager}!WFQueueManager@{WFQueueManager}}
\index{WFQueueManager@{WFQueueManager}!WFQueueManager@{WFQueueManager}}
\subsubsection[WFQueueManager]{\setlength{\rightskip}{0pt plus 5cm}WFQueueManager::WFQueueManager (const {\bf Address} \& {\em addr})}}
\label{classWFQueueManager_0ba32dadbee2c987f3818b857a160352}


Constructor specifying server \hyperlink{classAddress}{Address}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em addr}]Server \hyperlink{classAddress}{Address}. \end{description}
\end{Desc}


\subsection{Member Function Documentation}
\hypertarget{classWFQueueManager_8468a3c93d1417b57dc3c0bff0cca613}{
\index{WFQueueManager@{WFQueueManager}!enqueue@{enqueue}}
\index{enqueue@{enqueue}!WFQueueManager@{WFQueueManager}}
\subsubsection[enqueue]{\setlength{\rightskip}{0pt plus 5cm}int WFQueueManager::enqueue (const {\bf Workflow} \& {\em wf})}}
\label{classWFQueueManager_8468a3c93d1417b57dc3c0bff0cca613}


Push the provided \hyperlink{classWorkflow}{Workflow} into the queue. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em wf}]The provided \hyperlink{classWorkflow}{Workflow}. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Zero if operation successful, otherwise an error code. \end{Desc}
\hypertarget{classWFQueueManager_0813ef65db0924c3b7d99fa4980c002d}{
\index{WFQueueManager@{WFQueueManager}!dequeue@{dequeue}}
\index{dequeue@{dequeue}!WFQueueManager@{WFQueueManager}}
\subsubsection[dequeue]{\setlength{\rightskip}{0pt plus 5cm}{\bf Workflow} WFQueueManager::dequeue (void)}}
\label{classWFQueueManager_0813ef65db0924c3b7d99fa4980c002d}


Pop from the queue the next \hyperlink{classWorkflow}{Workflow} and returns it. 

\begin{Desc}
\item[Returns:]The next \hyperlink{classWorkflow}{Workflow}. \end{Desc}


The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
wfqueuemanager.h\item 
\hyperlink{wfqueuemanager_8cpp}{wfqueuemanager.cpp}\end{CompactItemize}
